package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 库存变更记录对象 stock_log
 *
 * @author ruoyi
 * @date 2025-08-28
 */
public class StockLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 公司ID */
    @Excel(name = "公司ID")
    private Long companyId;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String companyName;

    /** 门店ID */
    @Excel(name = "门店ID")
    private Long shopId;

    /** 门店名称 */
    @Excel(name = "门店名称")
    private String shopName;

    /** 商品ID */
    @Excel(name = "商品ID")
    private Long goodsid;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String goodsName;

    /** 类型，1：入库，2：出库 */
    @Excel(name = "类型，1：入库，2：出库")
    private String inOut;

    /** 关联出入库单ID */
    @Excel(name = "关联出入库单ID")
    private Long listid;

    /** 操作类型 */
    @Excel(name = "操作类型")
    private String type;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date ctime;

    /** 商品数量 */
    @Excel(name = "商品数量")
    private Double goodsNum;

    /** 商品价格 */
    @Excel(name = "商品价格")
    private Double goodsPrice;

    /** 更新之前的库存 */
    @Excel(name = "更新之前的库存")
    private Double beforeStock;

    /** 更新之后的库存 */
    @Excel(name = "更新之后的库存")
    private Double afterStock;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setCompanyId(Long companyId)
    {
        this.companyId = companyId;
    }

    public Long getCompanyId()
    {
        return companyId;
    }

    public void setCompanyName(String companyName)
    {
        this.companyName = companyName;
    }

    public String getCompanyName()
    {
        return companyName;
    }

    public void setShopId(Long shopId)
    {
        this.shopId = shopId;
    }

    public Long getShopId()
    {
        return shopId;
    }

    public void setShopName(String shopName)
    {
        this.shopName = shopName;
    }

    public String getShopName()
    {
        return shopName;
    }

    public void setGoodsid(Long goodsid)
    {
        this.goodsid = goodsid;
    }

    public Long getGoodsid()
    {
        return goodsid;
    }

    public void setGoodsName(String goodsName)
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName()
    {
        return goodsName;
    }

    public void setInOut(String inOut)
    {
        this.inOut = inOut;
    }

    public String getInOut()
    {
        return inOut;
    }

    public void setListid(Long listid)
    {
        this.listid = listid;
    }

    public Long getListid()
    {
        return listid;
    }

    public void setType(String type)
    {
        this.type = type;
    }

    public String getType()
    {
        return type;
    }

    public void setCtime(Date ctime)
    {
        this.ctime = ctime;
    }

    public Date getCtime()
    {
        return ctime;
    }

    public void setGoodsNum(Double goodsNum)
    {
        this.goodsNum = goodsNum;
    }

    public Double getGoodsNum()
    {
        return goodsNum;
    }

    public void setGoodsPrice(Double goodsPrice)
    {
        this.goodsPrice = goodsPrice;
    }

    public Double getGoodsPrice()
    {
        return goodsPrice;
    }

    public void setBeforeStock(Double beforeStock)
    {
        this.beforeStock = beforeStock;
    }

    public Double getBeforeStock()
    {
        return beforeStock;
    }

    public void setAfterStock(Double afterStock)
    {
        this.afterStock = afterStock;
    }

    public Double getAfterStock()
    {
        return afterStock;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("companyId", getCompanyId())
                .append("companyName", getCompanyName())
                .append("shopId", getShopId())
                .append("shopName", getShopName())
                .append("goodsid", getGoodsid())
                .append("goodsName", getGoodsName())
                .append("inOut", getInOut())
                .append("listid", getListid())
                .append("type", getType())
                .append("ctime", getCtime())
                .append("goodsNum", getGoodsNum())
                .append("goodsPrice", getGoodsPrice())
                .append("remark", getRemark())
                .append("beforeStock", getBeforeStock())
                .append("afterStock", getAfterStock())
                .toString();
    }
}
